/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package wasolicitudesfiec.consultas;

import entidad.Carrera;
import java.sql.*;
import java.util.Vector;

/**
 *
 * @author kabad
 */
public class ConsultasCarrera{
private Connection con;

public void setConexion(Connection con) {
this.con=con;
}

public Carrera nuevoCarrera(int fkIdFacultad, String nombre) throws SQLException{
Carrera reg=new Carrera();

PreparedStatement proc=con.prepareStatement(
"call nuevoCarrera(?,?) ");
proc.setInt(1, fkIdFacultad);
proc.setString(2, nombre);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setFkIdFacultad(rs.getInt(1));
reg.setIdCarrera(rs.getInt(2));
reg.setNombre(rs.getString(3));
}else reg=null;
return reg;


}

public Carrera HLnuevoCarrera(Carrera val) throws SQLException{
return nuevoCarrera(val.getFkIdFacultad(), val.getNombre());
}

public Carrera leerCarrera(int idCarrera) throws SQLException{
Carrera reg=new Carrera();

PreparedStatement proc=con.prepareStatement(
"call leerCarrera(?) ");
proc.setInt(1, idCarrera);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setFkIdFacultad(rs.getInt(1));
reg.setIdCarrera(rs.getInt(2));
reg.setNombre(rs.getString(3));
}else reg=null;
return reg;


}

public Carrera HLleerCarrera(Carrera val) throws SQLException{
return leerCarrera(val.getIdCarrera());
}

public Vector<Carrera> leerVariosCarrera() throws SQLException{
Vector<Carrera> datos=new Vector<Carrera>();
Carrera reg;

PreparedStatement proc=con.prepareStatement(
"call leerVariosCarrera() ");
ResultSet rs=proc.executeQuery();
while (rs.next()) {
reg = new Carrera();
reg.setFkIdFacultad(rs.getInt(1));
reg.setIdCarrera(rs.getInt(2));
reg.setNombre(rs.getString(3));
datos.add(reg);
}//end while
return datos;
}

public Vector<Carrera> HLleerVariosCarrera(Carrera val) throws SQLException{
return leerVariosCarrera();
}

public boolean modificarCarrera(int fkIdFacultad, int idCarrera, String nombre) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call modificarCarrera(?,?,?) ");
proc.setInt(1, fkIdFacultad);
proc.setInt(2, idCarrera);
proc.setString(3, nombre);
proc.execute();
return exitoOperacion;


}

public boolean HLmodificarCarrera(Carrera val) throws SQLException{
return modificarCarrera(val.getFkIdFacultad(), val.getIdCarrera(), val.getNombre());
}

public boolean eliminarCarrera(int idCarrera) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call eliminarCarrera(?) ");
proc.setInt(1, idCarrera);
proc.execute();
return exitoOperacion;


}

public boolean HLeliminarCarrera(Carrera val) throws SQLException{
return eliminarCarrera(val.getIdCarrera());
}


}// FIN CLASE: ConsultasCarrera
